package huawei_nowcoder;

import javax.swing.text.html.parser.Entity;
import java.util.*;

/**
 * @author 许群星
 *  order:8
 * @decription 合并表记录
 * @data 2020/2/2621:38
 **/
public class Merge {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()){
            int n = scanner.nextInt();

            Map<Integer,Integer> map=new TreeMap<>(new Comparator<Integer>() {
                @Override
                public int compare(Integer o1, Integer o2) {
                    return o1.compareTo(o2);
                }
            });
            for (int i = 0; i < n; i++) {
                int a= scanner.nextInt();
                int b= scanner.nextInt();
                if (map.containsKey(a)){
                    int temp=map.get(a);
                    map.put(a,temp+b);
                }else
                    map.put(a,b);
            }
            //借用set输出
            Set set=map.entrySet();
            Iterator<Map.Entry> iter=set.iterator();
            while(iter.hasNext()){
                Map.Entry mp=iter.next();
                System.out.println(mp.getKey()+" "+mp.getValue());
            }
        }
    }
}
/*
题目描述
数据表记录包含表索引和数值（int范围的整数），请对表索引相同的记录进行合并，即将相同索引的数值进行求和运算，输出按照key值升序进行输出。

输入描述:
先输入键值对的个数
然后输入成对的index和value值，以空格隔开

输出描述:
输出合并后的键值对（多行）

示例1
输入
复制
4
0 1
0 2
1 2
3 4
输出
复制
0 3
1 2
3 4
 */